function ajax(options) {
    // 解构
    const {
        data = {} , 
        type , 
        path , 
        dataType = 'JSON' , 
        async = true ,
        success , 
        fail
    } = options ;

    // 拼接数据
    let params = '' ;
    // 遍历data
    for(let key in data) {
        // console.log(key);  // username   userpwd
        // console.log(data[key]);   // yy   666
        params += `${key}=${data[key]}&` ;
    }

    // 去掉最后一个&
    params = params.substring(0 , params.length - 1) ;

    const xhr = new XMLHttpRequest() ;

    // 判断请求方式
    if(type.toLowerCase() === 'get') {
        xhr.open(type , path + '?' + params , async) ;
        xhr.send() ;
    }
    else {
        xhr.open(type , path , async) ;
        xhr.setRequestHeader('content-type' ,'application/x-www-form-urlencoded') ;
        xhr.send(params) ;
    }

    xhr.onreadystatechange = function() {
        try {
            if(xhr.readyState === 4 && xhr.status === 200) {
                // 获取了后端返回的数据
                let res = xhr.responseText ; 
                if(dataType.toLowerCase() === 'json') {
                    res = JSON.parse(res) ;
                    
                }
                success(res) ;
            }
        } catch(err) {
            fail(err) ;
        }
    }

}